# Maintainer: BlackIkeEagle <ike DOT devolder AT gmail DOT com>

pkgname=awxkit
_pkgname=awx
_commit=2ac304d2899f3f2b13c97b2ad30fcf91d8fe90ee
pkgver=23.5.0
pkgrel=1
pkgdesc="The official command line interface for Ansible AWX"
arch=('any')
url="https://github.com/ansible/awx"
license=('Apache')
depends=(
  'python'
  'python-pytest'  # unreferenced, required in awxkit/yaml_file.py
  'python-pyyaml'
  'python-requests'
  'python-setuptools'  # unreferenced, required in awxkit/cli/client.py
)
makedepends=('git' 'python-build' 'python-installer' 'python-setuptools' 'python-setuptools-scm' 'python-wheel')
checkdepends=(
  'jq'
  'python-pytest'
  'python-cryptography'
  # 'python-websocket-client'  # TODO: needs to be packaged
)
optdepends=(
  'jq: for formatting'
  # 'python-websocket-client: for websockets support'  # TODO: needs to be packaged
  'python-cryptography: for cryptography support'
)
options=(!emptydirs)
source=("${_pkgname}::git+https://github.com/ansible/${_pkgname}#tag=$_commit")
sha512sums=('SKIP')

build() {
    cd "${_pkgname}/${pkgname}"
    python -m build --wheel --no-isolation
}

check() {
    local deselected=(
      # NOTE: deselect tests that require python-websocket-client
      --deselect test/test_ws.py::test_explicit_hostname
      --deselect test/test_ws.py::test_urlparsing
      # Python 3.11 test failure https://github.com/ansible/awx/issues/13820
      --deselect test/cli/test_options.py::TestOptions::test_actions_with_primary_key
    )
    cd "${_pkgname}/${pkgname}"
    pytest -vv "${deselected[@]}"
}

package() {
    cd "${_pkgname}/${pkgname}"
    python -m installer --destdir="$pkgdir" dist/*.whl
}
